package com.hq.controller;


import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.hq.bean.AmountByProvince;
import com.hq.service.AmountByProvinceService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

@RestController
public class AmountByProvinceController {

    @Resource
    private AmountByProvinceService amountByProvinceService;

//    @RequestMapping("/amountByProvince")
//    public String amountByProvince(){
//        List<AmountByProvince> amountByProvinces = amountByProvinceService.listByAmountProvince();
//        StringBuilder sb=new StringBuilder();
//        sb.append("{\n" +
//                "  \"status\": 0,\n" +
//                "  \"msg\": \"\",\n" +
//                "  \"data\": {\n" +
//                "    \"mapData\": [\n");
//        for(int i=0;i<amountByProvinces.size();i++){
//            sb.append( "        {\n" +
//                    "        \"name\":\""+amountByProvinces.get(i).getName()+"\",\n" +    // 获取省份的名称
//                    "       \"value\":"+amountByProvinces.get(i).getTotal()+",\n" +
//                    "\"url\": \"sugar.baidu.com\"" +
//                    "        }\n" );
//
//            if(i<amountByProvinces.size()-1){
//                sb.append(",");
//            }
//        }
//
//        sb.append( "    ],\n" +
//                "    \"valueName\": \"金额\"\n" +
//                "  }\n" +
//                "}");
//        return sb.toString();
//    }


    @RequestMapping("/amountByProvince")
    public Object amountByProvince(){
        List<AmountByProvince> amountByProvinces = amountByProvinceService.listByAmountProvince();
        // 第一个json对象
        JSONObject jsonObject = new JSONObject();
            // 向json 对像中传入值
            //第一层向jsonObject 对象中 传入status属性 value 是0
            jsonObject.put("status",0);
            //第一层向jsonObject 对象中 传入status属性 value 是0
            jsonObject.put("msg","");
            // 第二层 data  因为data 的属性 是一个数组
            JSONObject data = new JSONObject();
            // mapData 的数组
            JSONArray objects = new JSONArray();
            // 遍历list 集合取出每个值
            for (AmountByProvince amountByProvince : amountByProvinces) {
                // 放到json对象中  mapData中每个对象都是通过循环创建出来的
                JSONObject jsonObject1 = new JSONObject();
                jsonObject1.put("name",amountByProvince.getName());
                jsonObject1.put("value",amountByProvince.getTotal());
                // 把json对象放到json的数组中
                objects.add(jsonObject1);
            }
            // 将mapdata 和valuename 都放到data第二层对象中
            data.put("mapData",objects);
            data.put("valueName","金额");
            //第一层向jsonObject 对象中 传入status属性 value 是0
            jsonObject.put("data",data);
            return jsonObject;
    }
}
